AccessorWrapperIdAccessor.java
package org.codefilarete.stalactite.mapping;
import org.codefilarete.reflection.ReadWritePropertyAccessPoint;
import org.codefilarete.reflection.ReversibleAccessor;
/**
* An {@link IdAccessor} wrapping a {@link ReversibleAccessor}
*
* @param <C> entity type
* @param <I> identifier type
*/
public final class AccessorWrapperIdAccessor<C, I> implements IdAccessor<C, I> {
private final ReadWritePropertyAccessPoint<C, I> idAccessor;
public AccessorWrapperIdAccessor(ReadWritePropertyAccessPoint<C, I> idAccessor) {
this.idAccessor = idAccessor;
}
public ReadWritePropertyAccessPoint<C, I> getIdAccessor() {
return idAccessor;
}
@Override
public I getId(C c) {
return idAccessor.get(c);
}
@Override
public void setId(C c, I identifier) {
idAccessor.set(c, identifier);
}
}